#include "StdAfx.h"
#include "UserPathInfo.h"

using namespace Adaptive::Foundation;
using namespace Adaptive::Win32;

/*--------------------------------------------------------------------------------
 * Constructor / Dispose / Destructor Methods
 *------------------------------------------------------------------------------*/
#pragma region Constructor / Dispose / Destructor Methods
// Initializes a new instance of the class.
UserPathInfo::UserPathInfo() : DisposableObjectBase()
{
	_userName = String::Empty;
	_cache = String::Empty;
	_cookies = String::Empty;
	_recent = String::Empty;
	_history = String::Empty;
	_localSettings = String::Empty;
}
UserPathInfo::UserPathInfo(String^ userName) : DisposableObjectBase()
{
	_userName = userName;
	_cache = String::Empty;
	_cookies = String::Empty;
	_recent = String::Empty;
	_history = String::Empty;
	_localSettings = String::Empty;


}
UserPathInfo::~UserPathInfo() 
{
	_userName = nullptr;
	_cache = nullptr;
	_cookies = nullptr;
	_recent = nullptr;
	_history = nullptr;
	_localSettings = nullptr;
}
#pragma endregion

/*--------------------------------------------------------------------------------
 * Public Properties
 *------------------------------------------------------------------------------*/
#pragma region Public Properties
/// Gets the user name for the account.
String^ UserPathInfo::UserName::get()
{
    return _userName;
}
/// Gets or sets the name of the Internet temporary cache / files folder.
String^ UserPathInfo::Cache::get()
{
	return _cache;
}
void UserPathInfo::Cache::set(String^ value)
{
	_cache = value;
}
/// Gets or sets the name of the Internet cookies folder.
String^ UserPathInfo::Cookies::get()
{
	return _cookies;
}
void UserPathInfo::Cookies::set(String^ value)
{
	_cookies = value;
}
/// Gets or sets the name of the account's recent document folder.
String^ UserPathInfo::Recent::get()
{
	return _recent;
}
void UserPathInfo::Recent::set(String^ value)
{
	_recent = value;
}
/// Gets or sets the name of the Internet history folder.
String^ UserPathInfo::History::get()
{
	return _history;
}
void UserPathInfo::History::set(String^ value)
{
	_history = value;
}
/// Gets or sets the name of the general local settings folder.
String^ UserPathInfo::LocalSettings::get()
{
	return _localSettings;
}
void UserPathInfo::LocalSettings::set(String^ value)
{
	_localSettings = value;
}
#pragma endregion

/*--------------------------------------------------------------------------------
 * Public Methods / Functions
 *------------------------------------------------------------------------------*/
#pragma region Public Methods / Functions
/// <summary>
/// Clears the contents of the object instance without disposing of the instance.
/// </summary>
void UserPathInfo::Clear()
{
    _cache = String::Empty;
    _cookies = String::Empty;
    _recent = String::Empty;
    _history = String::Empty;
    _localSettings = String::Empty;
}
#pragma endregion
